package com.study.jsl;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;

import java.util.List;
import java.util.stream.Collectors;

/**
 * @author zhuzi
 * 2024/10/4 13:49
 */
public class MDdemo {
    @Test
    public void md() {
        String str = "<a href=\"https://www.jisilu.cn/people/%E8%B5%9A%E9%92%B1%E5%85%BB%E8%BF%A6\" class=\"aw-user-name\" data-id=\"2055067\">@赚钱养迦</a>\n" +
                "<br>\n" +
                "<blockquote>\n" +
                " 科顺目前的口径是收到材料后等待确权的联系，正常操作是拖着先不确权，然后提议下修，下修到位，大家皆大欢喜，就看下修这里出不出幺蛾子。这公司有钱，但肯定不想还，报个清偿就是防备下修不到位\n" +
                "</blockquote>科顺下修是有净资产限制的，距离下修到底略有一点差距\n" +
                "https://www.jisilu.cn/question/488081?show_all_answer-TRUE__item_id-4904345__answer_id-4904345__single-TRUE#!answer_4904345\n" +
                "<a href=\"https://www.jisilu.cn/people/liu11liu11\" class=\"aw-user-name\" data-id=\"39950\">@liu11liu11</a>\n" +
                "<br>\n" +
                "<blockquote>\n" +
                " 多策略停掉了，是考虑超额不够显著了么。毕竟还有对冲呀。\n" +
                "</blockquote>最近两个月IM对冲成本太高了，我重点观察的是组合的真实可得夏普比。\n" +
                "<br>\n" +
                "<br>\n" +
                " 而真实可得夏普比=（组合Alpha-对冲成本）/(alpha波动率+基差波动率)\n" +
                "<br>\n" +
                "<br>\n" +
                " 以组合超额收益稳定在年化20%，alpha波动率为5%为假设。若对冲成本为6~8%\n" +
                "<br>\n" +
                "<br>\n" +
                " 则按此公式计算期望收益约为12~14%，期望夏普比约为2.2~2.8。这是过去几年实际验证后我觉得比较舒适的水平。\n" +
                "<br>\n" +
                "<br>\n" +
                " 但目前的对冲成本上升到12~14%，则根据上述公式所计算出的期望收益和期望夏普比就急剧下降到1.2~1.6，同时期望收益下降到6~8%。整个组合收到了收益率和夏普比双重打击，性价比就很低了。\n" +
                "<br>\n" +
                "<br>\n" +
                " 此时，相较而言直接持股性价比就大幅上升了。在维持整个组合波动率水平大致稳定的情况下，完全可以把原来的对冲组合调整为降低了仓位以后的非对冲组合（降低仓位的目的是保证多头组合波动率与对冲组合大致相当）。\n" +
                "<br>\n" +
                "<br>\n" +
                " 当然，上述判断的一个核心假设是IM期货的基差贴水长期在较高水平。根据我之前多篇期货基差分析的理论文章，目前负基差大增的一部分原因是市场悲观预期，但更大的长周期的原因在于原先雪球作为期货的最大多头买方力量，他们一来被大幅敲入消灭了。二来，今年的新监管政策使得雪球产品的发行门槛大幅提升，雪球投资者这次也得到了充分的投资者教育，不会再把他们当固收了。因此未来雪球产品的量大概率会萎缩，进而导致中期的期货基差较长期维持在高位，直到较高的基差使得中性量化私募的业绩不佳而被投资者赎回，但这又是一个漫长的过程了，我们不可能等待那么久。\n";

        System.out.println(html2Md(str));

    }

    public static String html2Md(String html) {
        FlexmarkHtmlConverter converter = FlexmarkHtmlConverter.builder().build();
        String convert = converter.convert(html);
        List<String> split = StrUtil.split(convert, "\n");

        String collect = split.stream().map(item -> {
            if (!StrUtil.startWith(item, ">") && StringUtils.isNotBlank(item)) {
                item = "\n" + item;
            }
            return item;
        }).collect(Collectors.joining("\n"));
        return collect;
    }

    @Test
    public void gzh() {
        String utf8String = FileUtil.readUtf8String("/Users/zhuzi/workspace/myfile/gitfile/pic/D-微信公众号/08-配置者说/惊心动魄or波澜不惊？2025多资产收益展望.html");
        utf8String = FileUtil.readUtf8String("/Users/zhuzi/workspace/myfile/gitfile/pic/D-微信公众号/08-配置者说/别问，干就完了，去实践中迭代经验。.html");
        String s = html2Md(utf8String);
        FileUtil.writeUtf8String(s, "/Users/zhuzi/Downloads/002-002.md");

    }
}
